Scroll to navigation

atexit(3) 2007-10-27-16:31 atexit(3)

НАЗВА

atexit - вказує функцію, яку буде виконано при нормальному завершенні програми

ОГЛЯД

#include <stdlib.h>

int atexit(void (*function)(void));

ОПИС

Функція atexit() реєструє вказану функцію для виконання під час нормального завершення програми через exit(3) або після повернення функції main() програми. Реєстровані таким чином функції буде викликано у зворотьньому щодо їхньої реєстрації порядку; щодних аргументів не передається.

Щонайменше ATEXIT_MAX функцій може бути реєстровано. Це значення, як мінімум, дорівнює 32. Його можна отримати за допомогою sysconf(3).

Шляхом успішного виклику однієї з exec-функцій, усі реєстрації скасовано.

ПОВЕРНЕНІ ЗНАЧЕННЯ

Функція atexit() повертає 0 при успішнім виконанні, у протилежному випадку, - ненульове значення.

ПРИКЛАД


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void bye(void) {
printf("That was all, folks\n");
}
int main(){
long a;
int i;
a = sysconf(_SC_ATEXIT_MAX);
printf("ATEXIT_MAX = %ld\n", a);
i = atexit(bye);
if (i != 0) {
fprintf(stderr, "cannot set exit function\n");
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}

ВІДПОВІДНІСТЬ СТАНДАРТАМ

SVID 3, BSD 4.3, ISO 9899, POSIX 1003.1-2001

ДИВІТЬСЯ ТАКОЖ

exit(3), _exit(3), on_exit(3)

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL